package com.amumu.drama.common.base.mapstruct.ext;

import cn.hutool.core.date.LocalDateTimeUtil;

import java.time.LocalDateTime;
import java.time.ZoneId;
import java.time.format.DateTimeFormatter;

/**
 * LocalDateTime和毫秒级时间戳互转
 */
public interface LocalDateTimeToStringMapping {

    /** 正向映射 */
    default String localDateTimeToString(LocalDateTime dt) {
        if (dt == null) {
            return null;
        }
        return dt.atZone(ZoneId.systemDefault()).format(DateTimeFormatter.ofPattern("yyyy-MM-dd HH:mm:ss"));
    }

    /** 反向映射 */
    default LocalDateTime StringToLocalDateTime(String ts) {
        if (ts == null) {
            return null;
        }
        return LocalDateTimeUtil.parse(ts);
    }
}
